<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!-- Copyright 1997 The Open Group, All Rights Reserved -->
<title>pthread_mutexattr_setprioceiling</title>
</head><body bgcolor=white>
<center>
<font size=2>
The Single UNIX &reg; Specification, Version 2<br>
Copyright &copy; 1997 The Open Group

</font></center><hr size=2 noshade>
<h4><a name = "tag_000_007_1531">&nbsp;</a>NAME</h4><blockquote>
pthread_mutexattr_setprioceiling, pthread_mutexattr_getprioceiling
- set and get prioceiling attribute of mutex attribute object
(<b>REALTIME THREADS</b>)
</blockquote><h4><a name = "tag_000_007_1532">&nbsp;</a>SYNOPSIS</h4><blockquote>
<pre><code>

#include &lt;<a href="pthread.h.html">pthread.h</a>&gt;

int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *<i>attr</i>,
    int <i>prioceiling</i>);
int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t *<i>attr</i>,
    int *<i>prioceiling</i>);
</code>
</pre>
</blockquote><h4><a name = "tag_000_007_1533">&nbsp;</a>DESCRIPTION</h4><blockquote>
The
<i>pthread_mutexattr_setprioceiling()</i>
and
<i>pthread_mutexattr_getprioceiling()</i>
functions, respectively, set and get the priority ceiling attribute of
a mutex attribute object pointed to by
<i>attr</i>
which was previously created by the function
<i><a href="pthread_mutexattr_init.html">pthread_mutexattr_init()</a></i>.
<p>
The
<i>prioceiling</i>
attribute contains the priority ceiling of initialised mutexes.
The values of
<i>prioceiling</i>
will be within the maximum range of priorities defined by SCHED_FIFO.
<p>
The
<i>prioceiling</i>
attribute defines the priority ceiling of initialised mutexes,
which is the minimum priority level
at which the critical section guarded by the mutex is executed.
In order to avoid priority inversion,
the priority ceiling of the mutex will be set to a priority
higher than or equal to the highest priority of all the threads
that may lock that mutex.
The values of
<i>prioceiling</i>
will be within the maximum range of priorities
defined under the SCHED_FIFO scheduling policy.
</blockquote><h4><a name = "tag_000_007_1534">&nbsp;</a>RETURN VALUE</h4><blockquote>
Upon successful completion, the
<i>pthread_mutexattr_setprioceiling()</i>
and
<i>pthread_mutexattr_getprioceiling()</i>
functions return zero.
Otherwise, an error number is returned to indicate the error.
</blockquote><h4><a name = "tag_000_007_1535">&nbsp;</a>ERRORS</h4><blockquote>
The 
<i>pthread_mutexattr_setprioceiling()</i>
and
<i>pthread_mutexattr_getprioceiling()</i>
functions will fail if:
<dl compact>

<dt>[ENOSYS]<dd>
The option _POSIX_THREAD_PRIO_PROTECT is not defined and the
implementation does not support the function.

</dl>
<p>
The
<i>pthread_mutexattr_setprioceiling()</i>
and
<i>pthread_mutexattr_getprioceiling()</i>
functions may fail if:
<dl compact>

<dt>[EINVAL]<dd>
The value specified by
<i>attr</i>
or
<i>prioceiling</i>
is invalid.

<dt>[EPERM]<dd>
The caller does not have the privilege to perform the operation.

</dl>
</blockquote><h4><a name = "tag_000_007_1536">&nbsp;</a>EXAMPLES</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_007_1537">&nbsp;</a>APPLICATION USAGE</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_007_1538">&nbsp;</a>FUTURE DIRECTIONS</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_007_1539">&nbsp;</a>SEE ALSO</h4><blockquote>
<i><a href="pthread_create.html">pthread_create()</a></i>,
<i><a href="pthread_mutex_init.html">pthread_mutex_init()</a></i>,
<i><a href="pthread_cond_init.html">pthread_cond_init()</a></i>,
<i><a href="pthread.h.html">&lt;pthread.h&gt;</a></i>.
<br>
</blockquote><h4>DERIVATION</h4><blockquote>
Derived from the POSIX Threads Extension (1003.1c-1995)
</blockquote><hr size=2 noshade>
<center><font size=2>
UNIX &reg; is a registered Trademark of The Open Group.<br>
Copyright &copy; 1997 The Open Group
<br> [ <a href="../index.html">Main Index</a> | <a href="../xshix.html">XSH</a> | <a href="../xcuix.html">XCU</a> | <a href="../xbdix.html">XBD</a> | <a href="../cursesix.html">XCURSES</a> | <a href="../xnsix.html">XNS</a> ]

</font></center><hr size=2 noshade>
</body></html>

